//
//  SceneDelegate.swift
//  SwiftRequest
//
//  Created by Pro on 2020/2/10.
//  Copyright © 2020 Pro. All rights reserved.
//

import UIKit

class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?


    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
        // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
        // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
        guard let _ = (scene as? UIWindowScene) else { return }
    }

    func sceneDidDisconnect(_ scene: UIScene) {
        // Called as the scene is being released by the system.
        // This occurs shortly after the scene enters the background, or when its session is discarded.
        // Release any resources associated with this scene that can be re-created the next time the scene connects.
        // The scene may re-connect later, as its session was not neccessarily discarded (see `application:didDiscardSceneSessions` instead).
    }

    func sceneDidBecomeActive(_ scene: UIScene) {
        // Called when the scene has moved from an inactive state to an active state.
        // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
    }

    func sceneWillResignActive(_ scene: UIScene) {
        // Called when the scene will move from an active state to an inactive state.
        // This may occur due to temporary interruptions (ex. an incoming phone call).
    }

    func sceneWillEnterForeground(_ scene: UIScene) {
        // Called as the scene transitions from the background to the foreground.
        // Use this method to undo the changes made on entering the background.
    }

    func sceneDidEnterBackground(_ scene: UIScene) {
        // Called as the scene transitions from the foreground to the background.
        // Use this method to save data, release shared resources, and store enough scene-specific state information
        // to restore the scene back to its current state.
    }


}




//import Foundation
//import Alamofire
//
//
//struct LoginUser {
//    let id: String
//    let nickname: String
//    let phone: String
//    
//    init?(data: NSDictionary) {
//    
//        guard let loginUser = data["loginUser"] as? NSDictionary else {
//            return nil
//        }
//        guard let id = loginUser["id"] as? String else {
//            return nil
//        }
//        guard let nickname = loginUser["nickname"] as? String else {
//            return nil
//        }
//        guard let phone = loginUser["phone"] as? String else {
//            return nil
//        }
//        self.id = id
//        self.nickname = nickname
//        self.phone = phone
//    }
//}
//
//
//enum JNHTTPMethod {
//    case GET
//    case POST
//}
//
//protocol JNRequest {
//   
//        var host : String {get}
//       var path : String {get}
//       var method : HPHTTPMethod {get}
//       var parameter: [String: Any] { get }
//       
//       associatedtype Response
//       func parse(data: NSDictionary) -> Response?
//
//    
//}
//
//
//struct LoginRequest: JNRequest {
//    var method: HPHTTPMethod = .POST
//    typealias Response = LoginUser
//    
//    var host: String  {
//        return "http://www.jihuabiao.net:8890/plan/"
//    }
//    var path: String {
//        return "freeuser/login"
//    }
//    var parameter: [String : Any]
//}
//
//extension JNRequest {
//    func sendRequest(hander:@escaping(Response?)->Void) {
//            let url = self.host + self.path
//        Alamofire.request(url, method: HTTPMethod.post, parameters: self.parameter).responseJSON { (response) in
//                switch response.result {
//                case .success(let data):
//                       let dic = data as? NSDictionary
//                       if let res = self.parse(data: dic!) {
//                        hander(res)
//                     }else {
//                        hander(nil)
//                     }
//                    case .failure:
//                        hander(nil)
//                }
//            }
//        }
//
//
//}
//
//extension LoginRequest {
//   
//    func parse(data: NSDictionary) -> LoginUser? {
//        return LoginUser(data:data)
//    }
//}
